

import java.util.Collection;
import java.util.Iterator;

public abstract class AccionIA implements AccionesCartas {

	/**
	 * @uml.property  name="jugadorIA"
	 * @uml.associationEnd  multiplicity="(0 -1)" inverse="accionIA:JugadorIA"
	 */
	private Collection jugadorIA;

	/**
	 * Getter of the property <tt>jugadorIA</tt>
	 * @return  Returns the jugadorIA.
	 * @uml.property  name="jugadorIA"
	 */
	public Collection getJugadorIA() {
		return jugadorIA;
	}

	/**
	 * Returns an iterator over the elements in this collection. 
	 * @return  an <tt>Iterator</tt> over the elements in this collection
	 * @see java.util.Collection#iterator()
	 * @uml.property  name="jugadorIA"
	 */
	public Iterator jugadorIAIterator() {
		return jugadorIA.iterator();
	}

	/**
	 * Returns <tt>true</tt> if this collection contains no elements.
	 * @return  <tt>true</tt> if this collection contains no elements
	 * @see java.util.Collection#isEmpty()
	 * @uml.property  name="jugadorIA"
	 */
	public boolean isJugadorIAEmpty() {
		return jugadorIA.isEmpty();
	}

	/**
	 * Returns <tt>true</tt> if this collection contains the specified element. 
	 * @param element  whose presence in this collection is to be tested.
	 * @see java.util.Collection#contains(Object)
	 * @uml.property  name="jugadorIA"
	 */
	public boolean containsJugadorIA(JugadorIA jugadorIA) {
		return this.jugadorIA.contains(jugadorIA);
	}

	/**
	 * Returns <tt>true</tt> if this collection contains all of the elements in the specified collection.
	 * @param elements  collection to be checked for containment in this collection.
	 * @see java.util.Collection#containsAll(Collection)
	 * @uml.property  name="jugadorIA"
	 */
	public boolean containsAllJugadorIA(Collection jugadorIA) {
		return this.jugadorIA.containsAll(jugadorIA);
	}

	/**
	 * Returns the number of elements in this collection.
	 * @return  the number of elements in this collection
	 * @see java.util.Collection#size()
	 * @uml.property  name="jugadorIA"
	 */
	public int jugadorIASize() {
		return jugadorIA.size();
	}

	/**
	 * Returns all elements of this collection in an array.
	 * @return  an array containing all of the elements in this collection
	 * @see java.util.Collection#toArray()
	 * @uml.property  name="jugadorIA"
	 */
	public JugadorIA[] jugadorIAToArray() {
		return (JugadorIA[]) jugadorIA.toArray(new JugadorIA[jugadorIA.size()]);
	}

	/**
	 * Returns an array containing all of the elements in this collection;  the runtime type of the returned array is that of the specified array.
	 * @param a  the array into which the elements of this collection are to be stored.
	 * @return  an array containing all of the elements in this collection
	 * @see java.util.Collection#toArray(Object[])
	 * @uml.property  name="jugadorIA"
	 */
	public JugadorIA[] jugadorIAToArray(JugadorIA[] jugadorIA) {
		return (JugadorIA[]) this.jugadorIA.toArray(jugadorIA);
	}

	/**
	 * Ensures that this collection contains the specified element (optional operation). 
	 * @param element  whose presence in this collection is to be ensured.
	 * @see java.util.Collection#add(Object)
	 * @uml.property  name="jugadorIA"
	 */
	public boolean addJugadorIA(JugadorIA jugadorIA) {
		return this.jugadorIA.add(jugadorIA);
	}

	/**
	 * Setter of the property <tt>jugadorIA</tt>
	 * @param jugadorIA  the jugadorIA to set.
	 * @uml.property  name="jugadorIA"
	 */
	public void setJugadorIA(Collection jugadorIA) {
		this.jugadorIA = jugadorIA;
	}

	/**
	 * Removes a single instance of the specified element from this collection, if it is present (optional operation).
	 * @param element  to be removed from this collection, if present.
	 * @see java.util.Collection#add(Object)
	 * @uml.property  name="jugadorIA"
	 */
	public boolean removeJugadorIA(JugadorIA jugadorIA) {
		return this.jugadorIA.remove(jugadorIA);
	}

	/**
	 * Removes all of the elements from this collection (optional operation).
	 * @see java.util.Collection#clear()
	 * @uml.property  name="jugadorIA"
	 */
	public void clearJugadorIA() {
		this.jugadorIA.clear();
	}

}
